 package ac.zlf.springmybatis.core.util;
 
 import java.lang.reflect.Field;
 
 public class ReflectHelper
 {
   public static Field getFieldByFieldName(Object obj, String fieldName)
   {
     for (Class<?> superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass()) {
       try
       {
         return superClass.getDeclaredField(fieldName);
       }
       catch (NoSuchFieldException e) {}
     }
     return null;
   }
   
   public static Object getValueByFieldName(Object obj, String fieldName)
     throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
   {
     Field field = getFieldByFieldName(obj, fieldName);
     Object value = null;
     if (field != null) {
       if (field.isAccessible())
       {
         value = field.get(obj);
       }
       else
       {
         field.setAccessible(true);
         value = field.get(obj);
         field.setAccessible(false);
       }
     }
     return value;
   }
   
   public static void setValueByFieldName(Object obj, String fieldName, Object value)
     throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
   {
     Field field = obj.getClass().getDeclaredField(fieldName);
     if (field.isAccessible())
     {
       field.set(obj, value);
     }
     else
     {
       field.setAccessible(true);
       field.set(obj, value);
       field.setAccessible(false);
     }
   }
 }



/* Location:           D:\repository\cc\hwtech\core\2.0.1-school-SNAPSHOT\core-2.0.1-school-SNAPSHOT.jar

 * Qualified Name:     ReflectHelper

 * JD-Core Version:    0.7.0.1

 */
